home *** CD-ROM | disk | FTP | other *** search
- Description
-
- This version of uuencode/uudecode is based on `Almost foolproof
- uuencode/uudecode', versions 3.1 and 3.4, resp., from 1987/88, which
- in turn were derived from the original Berkeley UN*X program. It had
- (and still has) the following features:
-
- - Trailing blanks which have been removed by mailservers and/or
- gateways are restored.
-
- - Two common internetwork transpositions are accepted, i.e. tilde
- instead of circonflex, and accent grave instead of blank. (The
- latter is not a gateway/network thing, but a feature of some UN*X
- uuencode, to avoid the blank compression by some protocols.)
-
- - Multiple-file decoding. If the files to be included do not exist,
- uudecode.ttp will attempt to go on with the same file, in case the
- multiple files have just been concatenated upon reception.
-
- - Line sequence checking, allowing the detection of missing,
- duplicate, or corrupted lines or files. This feature is enabled if
- the first line of the first uuencoded file is postfixed with a 'z'
- (this is done automatically by the uuencode.ttp companion
- program).
-
- - Complete check of the uudecoding process by use of the -d flag.
- This will give a detailed account of what the program does, and in
- addition enables a complete character-by-character check of the
- file to be decoded.
-
- - If a file starts with a character table, it will be used; this
- table is also produced by the companion uuencode.ttp.
-
- - Instant decoding of multiple uuencoded files in one file.
-
- - Complete compatibility with true UN*X uuencoded files (but not if
- the multiple part option of uuencode.ttp is used).
-
-
- The present version has the following additions and modifications:
-
- - The file to be decoded is loaded entirely into memory. If you have
- insufficient RAM, the file must be split in multiple parts, using
- `include <filename>' as the last line of the individual parts
- (minus the last part) and `begin <filename>' as the begin line.
-
- - Full pathnames are truncated to filename only for use in begin
- line of encoded files (uuencode).
-
- - Command line parsing is done by the GNU getopt function and a
- few options have been added.
-
- - Commands can be read from a file. Useful for large (background)
- jobs.
-
- - Speed is improved. This version of uudecode is easily twice as
- fast as Esscode, and even eight times faster than Esscode when
- decoding multiple files.
-
- - The most important and useful addition, however, is that the
- uudecode program will skip garbage lines. This enables you to
- decode binary files sent by ftp-mailservers in multiple parts,
- without using an editor to remove the lines in between (no need,
- therefore, for MURKS!). Of course, this method can never be one
- hundred percent foolprove, since any interpretive device in the
- universe - and that includes you! - can ultimatley be fooled
- (variation 1 on Murphy's Law). Chances, however, that it will be
- fooled by accident, are very small indeed, and if you use sequence
- checking, plus, perhaps, the debug option, that small probability
- will even be further reduced. But use an editor if you don't trust
- this feature.
-
- Usage
-
- uudecode -[vVhHnds<source dir>t<target dir>f<commands file>] {input files)
- uuencode -[l<nlines>dhHvt<target dir>f<commands file>] {input files} [-]
-
- Options may be specified separately or concatenated, i.e. `-v -h -d'
- is the same as `-vhd'. Also, an option and its argument may be
- concatenated, i.e. `-t c:\output' is the same as `-tc:\output'.
-
- Options common to both programs:
-
- -v Print version info and exit.
-
- -H Print usage and exit.
-
- -h Hold screen (press any key to continue).
-
- -d Debug mode. In this mode, uudecode will perform a
- character-by-character check of the whole file and output
- extensive information about the decoding and error checking
- process; uuencode will be verbose.
-
- -t <directory name> Target directory. Output files will be put in
- this directory. Trailing (back)slashes are optional. If the
- directory doesn't exist, it will be created.
-
- -f <filename> Read commands from file; `filename' must be full path
- if the file is in a different directory. Each line in the file
- will be read as a command line and subsequently executed. In
- addition, jobs may be executed conditionally by concatenating
- them on the same line with the logical operators `&&' and '||',
- where `&&' means: execute next job iff former job returned 0, and
- `||' means: execute next job iff former job returned non-0.
- The logical operators are parsed as normal commands, i.e.
- surround them with spaces/tabs (or, in other words: this is not
- C).
- Empty lines and lines beginning with `#' are ignored.
- NOTE: The logical concatenation of jobs is dependant on the
- type of error in the former job. Some errors cause the program to
- abort.
-
- Options uudecode:
-
- -V Verbose mode. The program will output succinct information
- about the decoding process (see also option -d).
-
- -n No line sequence check.
-
- -s <directory name> Source directory for all input files (useful
- when decoding multiple files).
-
- Options uuencode:
-
- -l n n = maximum number of lines per output file.
-
- -T Generate table.
-
- The name(s) of the file(s) to be en/decoded may appear anywhere on the
- command line. There's no limit to the number of input files and the
- input filenames may, in addition, contain the usual wildcards `*' and
- `?'. Output filenames will be automatically created by both uuencode
- and uudecode. Output is piped to stdout by uuencode when input files
- on the command line are followed by `-' (disabled with option `-t').
-
- Examples
-
- The following will encode any file on drive `e' matching the
- wildcard pattern foo*.ttp into multiple output files *.uaa, *.uab,
- etc., containing a maximum of 500 lines each. The files will be
- placed in directory d:\output:
-
- uuencode -l500 -td:\output e:\foo*.ttp
-
- The following will decode multiple files foo.uaa, foo.uab, etc.,
- plus multiple files oof.uaa, oof.uab, etc. in source directory
- e:\input and place the output files in target directory d:\output,
- with debug mode switched on and no line checking:
-
- uudecode -d -n -s e:\input -t d:\output foo.uaa oof.uaa
-
- The same can, of course, be achieved by
-
- uudecode -dnse:\input -td:\output *.uaa
-
- The following will execute the commands in file cmd.txt:
-
- uuen/decode -f cmd.txt
-
- Example of a commands file for uudecode:
-
- # decode all uue files in directory c:\uue and place the binaries
- # in c:\bin:
- -tc:\bin -sc:\uue *.uue
-
- Example of a commands file for uuencode:
-
- # encode file foo.ttp, with table, and place the result in
- # c:\uue; do the same with file oof.ttp IFF the encoding of
- # foo.ttp wasn't successful:
- -Ttc:\uue foo.ttp || -Ttc:\uue oof.ttp
-
- Postcardware
-
- This software is "postcardware", so please send me a postcard if you
- use it.
-
- Bugs
-
- Every non-trivial program contains at least one bug, so, in that
- sense, I hope these have bugs too. Please report to me if you find
- one.
-
- Distribution
-
- uuencode.ttp and uudecode.ttp may be freely distributed, provided
- this file is included in the distribution.
-
- Disclaimer
-
- Use these programs at your own risk. I will not accept any liability
- for damage caused by this software.
-
- Tip
-
- For getting the most out of these programs in terms of ease of use,
- install them with Holger Weets' `Pacshell'.
-
-
- Jos den Bekker
-
- Address:
- Rhijnvis Feithstraat 35
- 1054 TV Amsterdam
- Netherlands
-
- Email:
- <josdb@xs4all.nl>
-
- WWW:
- http://www.xs4all.nl/~josdb
-
- ------------------------------------------------
- History after first release:
-
- 05.10.96: Bug in checking integrity of line fixed
-
- 14.11.96: Option `-h' in uuencode didn't work; fixed for both
- programs: it now works always, regardless of where it
- appears on the command line.
- Target directory created when it doesn't exist.
-
- Version 2.2:
-
- 06.12.96: Filename may appear anywhere on the command line. First
- release with version number :)
- Bug in parsing filename fixed.
-
- 07.12.96: Yet another bug in command line processing fixed.
-
- Version 2.3 (not released):
-
- 12.12.96: Multiple input files on command line, plus use of wildcards.
-
- Version 2.4:
-
- 12.12.96 Read commands from file.
-
- 15.12.96: Table only generated on request.
-